/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.webhomesites.padrao.contracts;

import br.com.webhomesites.padrao.model.ItensComposicaoProdutoTableModel;
import br.com.webhomesites.padrao.model.ProdutoModel;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.MouseListener;
import java.util.List;
import javax.swing.JComboBox;

/**
 *
 * @author Webhome
 */
public interface IComposicaoProdutoView {
    
    //Painel de Locação*********************************************************
    public void setCodigoProdutoComposto(long codigoProdutoComposto);  
    public long getCodigoProdutoComposto();
    
    public void setCodigoProdutoAcessorio(long codigoProdutoAcessorio);  
    public long getCodigoProdutoAcessorio();
      
    public void setDescricaoProdutoComposto(String nomeCliente);  
    public String getDescricaoProdutoComposto();
    
    public void setDescricaoProdutoAcessorio(String nomeCliente);  
    public String getDescricaoProdutoAcessorio();
    
    public void setListaProdutoComposto(List<ProdutoModel> listaProduto);
    public void setListaProdutoAcessorio(List<ProdutoModel> listaProduto);
    
    public JComboBox getComboDescricaoProdutoComposto();
    public JComboBox getComboDescricaoProdutoAcessorio();
    
    public void setQuantidade(String quantidade);
    public Double getQuantidade();    
    
    public String getTipoComposicao();
    //Final Painel Locação****************************************************** 
          
    public void packAndShow();  
    public void clearFields(); 
    
    //Responsavel pela locação
    public void enableTxtCodigoProdutoComposto(boolean arg);
    public void enableTxtCodigoProdutoAcessorio(boolean arg);
    public void enableTxtQuantidade(boolean arg);  
    public void enableComboProdutoComposto(boolean arg);
    public void enableComboProdutoAcessorio(boolean arg);    
  
      
    public void enableBtnCancelarComposicaoProduto(boolean arg);
    public void enableBtnSalvarComposicaoProduto(boolean arg);
    public void enableBtnNovaComposicaoProduto(boolean arg);
    public void enableBtnInserirItem(boolean arg);
    public void enableBtnSalvarItem(boolean arg);
    public void enableBtnCancelarItem(boolean arg);
    public void enableBtnRemoverItem(boolean arg);    
    
    public int linhaSelecionadaTableItens();
        
    public void removeAllitensComboProdutoComposto();
    public void removeAllitensComboProdutoAcessorio();
    public void clearFieldsPainelComposicaoProduto();
    public void clearFieldsPainelIncluirProdutoAcessorio();
    public void clearTableItensComposicao();
    
    public void setComboProdutoCompostoFocus();
    public void setComboProdutoAcessorioFocus();
    
    public void setItensComposicaoProdutoTableModel(ItensComposicaoProdutoTableModel itensComposicaoTableModel);  
    public ItensComposicaoProdutoTableModel getItensComposicaoProdutoTableModel();  
      
    public void refreshTableItensComposicaoProduto(); 
    
    public void setInserirItemComposicaoActionListener(ActionListener listener);
    public void setInserirComposicaoActionListener(ActionListener listener);
    public void setRemoverItemComposicaoActionListener(ActionListener listener);  
    public void setAlterarActionListener(ActionListener listener);     
    public void setCancelarComposicaoActionListener(ActionListener listener);  
    public void setCancelarItemComposicaoActionListener(ActionListener listener);  
    public void setSalvarComposicaoActionListener(ActionListener listener);  
    public void setSalvarItemComposicaoActionListener(ActionListener listener);
    public void setBuscaAvancadaActionListener(ActionListener listener);
    public void setBtnSairActionListener(ActionListener listener); 
    
    public void setTableItensComposicaoMouseListener(MouseListener listener);
    public void setComboDescricaoProdutoCompostoItemStateChanged(ItemListener listener);
    public void setComboDescricaoProdutoAcessorioItemStateChanged(ItemListener listener);
    
  
    public void setDocument(javax.swing.text.Document doc); 
    
}
